﻿using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.Threading.Tasks;

using CashFlow.Admin.Def;
using CashFlow.Db.Entity;

namespace CashFlow.Admin.Service
{
    public interface IUserService : IService<UserInfoEntity>
    {
        IList<UserInfoEntity> QueryAllChildUsersByUserId(int userId);

        IList<UserInfoAndReferenceUserInfo> QueryAllChildUsersWithSameShopByUserId(
            int userId);

        IList<UserInfoAndReferenceUserInfo> QueryAllChildUsersWithSameShopByUserIdByWhere(
            int userId
            , string phone
            , string name
            , string invitationCode
            , string reference
            , string referenceInvitationCode);

        IList<UserInfoEntity> QueryMyCustomers(int userId);

        IList<UserInfoEntity> QueryMyCustomers();

        EUpdateUserResult UpdateUser(int userId, string phone, string name);

        EResetUserPwdResult ResetPwd(int userId
            , string pwd
            , string newPwd);
    }
}
